//
// Created by jinling on 2025/6/24.
//

#pragma once

#include<string>
#include<vector>

namespace tmms
{
    namespace base
    {
        class StringUtils
        {
        public:
            static  bool StarsWith(const std::string &s, const std::string &sub); //字符串S以sub开头码？
            static  bool EndWith(const std::string &s, const std::string &sub);//字符串S以sub结尾码？
            static std::string FilePath(const std::string &path);//从完整文件路径中提取目录部分（即去除末尾的文件名）
            static std::string FileNameExt(const std::string &path);//提取文件类型  text.txt
            static std::string FileName(const std::string &path); //返回文件名    test
            static std::string Extension(const std::string &path); //返回文件后缀，就是文件类型  txt
            static std::vector<std::string> SplitString(const std::string &s, const std::string  &delimiter);
            
            //有限状态机实现字符串的分割
            static std::vector<std::string> SplitStringWithFSM(const std::string &s, const char &delimiter);  
        
        };
    }
}
